﻿using FlashPay.EF.Models;
using FlashPay.Entity;
using FlashPay.Entity.Parameter;
using FlashPay.Entity.Request;
using FlashPay.Entity.Request.Bank;
using FlashPay.Entity.Response.Bank;
using System;
using System.Collections.Generic;

namespace FlashPay.Service.Bank
{
    public interface BankInfoService
    {
        void AddBank(BankInfoRequest<String> model);
        void EditBank(BankInfoRequest<String> model);
        void GetBank(BankInfoRequest<List<BankInfoResponse>> model);


        PagedList<BankInfo> GetList(BankInfoQuery query);

        List<BankInfo> GetBankInfoList();

        JResult<BankInfo> GetBankInfoByBankCode(string BankCode);

        /// <summary>
        /// 新增银行信息
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        JResult AddBankInfo(BankInfo model, Request request);

        /// <summary>
        /// 修改銀行信息
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        JResult UpdateBankInfo(BankInfo model, Request request);

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="bankCode">银行代码</param>
        /// <returns></returns>
        JResult DeleteBankInfo(string bankCode);
    }
}
